C++ 二维数组a[3,4],a[0]是地址还是数据?
来源:百度知道 编辑:UC知道 时间:2024/06/22 00:28:20
如题?书上说第0行的起始地址是&a[0],那就是说a[0]应该是第一个元素的值了?
但是又说a[0]为一维数组名,该一维数组中序号为1的元素地址为a[0]+1。这样说来a[0]也应该是地址吧……
亲~你确定二维的也是这样的吗?书上说第一行第二个元素地址是a[0]+1……跟你说的不一样啊……
但是又说a[0]为一维数组名,该一维数组中序号为1的元素地址为a[0]+1。这样说来a[0]也应该是地址吧……
亲~你确定二维的也是这样的吗?书上说第一行第二个元素地址是a[0]+1……跟你说的不一样啊……
你要理解 a[0] 和 &a[0]所代表的意义是不一样的。
比如:int a[10]
则 a 代表数组的首地址,&a代表的是这种数据类型的地址。
所以对于a[3][4] 则a,a[0] 为a的起始地址,即a[0][0]的地址。
当把a[0]看做第0行时,它代表一种数据类型,其里面有4个整型数。所以&a[0]是第0行的起始地址。
&a[0] + k 代表在&a[0]的基础上偏移了k个a[k][4]。
对于一位数组a[0]的确是一个值..
但对于多维数组,,举个例子
对于a[4][5],,a[0]是a[0][n]的地址..
就像对于一位数组a[4],a就是他的地址一样..
不知道这样说你明不明白..
还有,,类似这样的问题..你可以用 "&"和"*"符号写一些测试代码..
看输出的是什么就知道了..
a[0]是数据
如果a[0]=1
哪么a[0]+1是2
1号元素的地址是&a[0+1]
a[0]代表的是地址,你可以看成是3行4列的矩阵,a[0]代表第一行的首地址。。因为是二维数组
*(*a+1)[4] c语言里面能表示二维数组的元素吗
动态分配二维数组(C语言)
c语言二维数组实例
c语言 排列二维数组
输入一个二维数组A[6][6]。设计一个函数,用指向一维数组的指针变量一维数组的和二维数组的行%C
对于二维数组,int a[2][2] ={{1,2},{3,4}};
C语言----输入16个数据存放到二维整型数组a[4][4]中,输出最大值、最小值以及位置。
使用C语言定义一个二维整形数组a[][20]的多个问题
c++中,要如何实现根据变量声明二维数组int a[b][c]?
对于二维数组,int a[2][2] ={{1,2},{3,4}},为什么a=a[0],但*a != *a[0]